string="一段文字比较长";根据关键字(字比)查找,所在的位置?
来源:百度知道 编辑:UC知道 时间:2024/06/13 22:58:31
string="一段文字比较长";根据关键字(字比)查找所在string的位置?
我们将这个一段文字建立成树,或者其它的一种算法来取 (字比)在string当中的位置? 这个如果不用函数可能比较复杂,或者说你给个思路也可以啊!
string="我们将这个一段文字建立成树,或者其它的一种算法来取 (字比)在string当中的位置? 这个如果不用函数可能比较复杂,或者说你给个思路也可以啊!我们将这个一段文字建立成树,或者其它的一种算法来取 (字比)在string当中的位置? 这个如果不用函数可能比较复杂,或者说你给个思路也可以啊!";
我们给个关键字(关键字可以是一个,二个,三个,四个,五个),根据关键字来找到sring里面的对应的位置,用什么方法来实现呢?
我们将这个一段文字建立成树,或者其它的一种算法来取 (字比)在string当中的位置? 这个如果不用函数可能比较复杂,或者说你给个思路也可以啊!
string="我们将这个一段文字建立成树,或者其它的一种算法来取 (字比)在string当中的位置? 这个如果不用函数可能比较复杂,或者说你给个思路也可以啊!我们将这个一段文字建立成树,或者其它的一种算法来取 (字比)在string当中的位置? 这个如果不用函数可能比较复杂,或者说你给个思路也可以啊!";
我们给个关键字(关键字可以是一个,二个,三个,四个,五个),根据关键字来找到sring里面的对应的位置,用什么方法来实现呢?
用下面的函数就可以完成, 如果找到就返回子串在主串的中的偏移量, 如果找不到或是参数错误就返回 -1.
int FindSubString(const char *pcMainString, const char *pcSubString)
{
if ((NULL == pcMainString) || (NULL == pcSubString))
{
return -1;
}
int i = 0;
int j = 0;
int nLenMain = strlen(pcMainString);
int nLenSub = strlen(pcSubString);
if (nLenSub > nLenMain)
{
return -1;
}
while ((i < nLenMain) && (j < nLenSub))
{
if (pcMainString[i] == pcSubString[j])
{
++i;
++j;
}
else
{
i = i - j + 1;
j = 0;
}
}
if (j == nLenSub)
{
return i - j;
}
else
{
return -1;
}
}
如果主串很长很长, 子串中有重复序列, 那么建议使用 KMP 匹配算法, 楼主可以去查数据结构的相关资料.
w恕我问问,这用树干什么? 一段文字比较长,什么形式的、一般的就只能用顺序查找了,其他可能会用二分法
string s=null与string s=""
String str1=new String("abc");
关于String str=new String("123");
中行笔试题:String s=new String("xyz")创建了几个String对象
String s="你好"和String str=new String("你好")有什么区别?
String s="abc"与String s= new String("abc")有什么区别
String a="abc"和String a=new String("abc");区别在哪呢?
String str="aspx" 与 new String("aspx") 的区别
string s=null;和string s="";有啥不同;
菜鸟问:! string.equals("")和string != null 有什么区别阿?